package com.gosuncn.zfyluancher;

import java.nio.ByteBuffer;

public class ZFYLauncherJNI {
    private static final String TAG = "ZFYLauncherJNI";

    private static ZFYLauncherJNI agent;

    static {
        System.loadLibrary("zyflauncher");
    }

    private ZFYLauncherJNI() {
    }

    public static ZFYLauncherJNI getInstance() {
        if (agent == null) {
            synchronized (ZFYLauncherJNI.class) {
                agent = new ZFYLauncherJNI();
            }
        }
        return agent;
    }

    public static native int ARGB2I420(byte[] bArr, int i, int i2, byte[] bArr2, byte[] bArr3, byte[] bArr4);

    public static native void ARGB2NV21(byte[] bArr, int i, int i2, byte[] bArr2, byte[] bArr3);

    public static native int I420ToNV12(byte[] bArr, byte[] bArr2, int i, int i2);

    public static native int I420ToNV21(byte[] bArr, byte[] bArr2, int i, int i2);

    public static native int NV12Rotate(byte[] bArr, int i, int i2, byte[] bArr2, int i3);

    public static native int NV12ToNV21(byte[] bArr, byte[] bArr2, int i, int i2);

    public static native int SwapUVPlane(byte[] bArr, int i, int i2);

    public static native int addOSDToI420(byte[] bArr, int i, int i2, byte[] bArr2, int i3, int i4, int i5, int i6, int i7);

    public static native int addOSDToI420ASCII(byte[] bArr, int i, int i2, byte[] bArr2, int i3, int i4, int i5, int i6, int i7);

    public static native int addOSDToI420ASCIIInvert(byte[] bArr, int i, int i2, byte[] bArr2, int i3, int i4, int i5, int i6, int i7);

    public static native int addOSDToI420HZK(byte[] bArr, int i, int i2, byte[] bArr2, int i3, int i4, int i5, int i6, int i7);

    public static native int addOSDToI420HZKBlack(byte[] bArr, int i, int i2, byte[] bArr2, int i3, int i4, int i5, int i6, int i7);

    public static native int addOSDToI420HZKInvert(byte[] bArr, int i, int i2, byte[] bArr2, int i3, int i4, int i5, int i6, int i7);

    public static native int addOSDToI420HZKNeon(byte[] bArr, int i, int i2, byte[] bArr2, int i3, int i4, int i5, int i6, int i7);

    public static native int addOSDToRGBASCII(int[] iArr, int i, byte[] bArr, int i2, int i3);

    public static native int addOSDToRGBASCIIInvert(int[] iArr, int i, byte[] bArr, int i2, int i3);

    public static native int addOSDToRGBHZK(int[] iArr, int i, byte[] bArr, int i2, int i3);

    public static native int addOSDToRGBHZKInvert(int[] iArr, int i, byte[] bArr, int i2, int i3);

    public static native int calcInvertASCIIPart(byte[] bArr, int i, int i2, byte[] bArr2, int i3, int i4, byte[] bArr3, byte[] bArr4, int i5, int i6, int i7);

    public static native int calcInvertPart(byte[] bArr, int i, int i2, byte[] bArr2, int i3, int i4, byte[] bArr3, byte[] bArr4, int i5, int i6, int i7);

    public static native int getFrameDiff(byte[] bArr, byte[] bArr2, int i);

    public static native int scaleNV21_I420(byte[] bArr, int i, int i2, byte[] bArr2, int i3, int i4);

    public static native byte[] yuvToBuffer(ByteBuffer byteBuffer, ByteBuffer byteBuffer2, ByteBuffer byteBuffer3, int i, int i2, int i3, int i4, int i5, int i6, int i7, int i8);

    public native String getSDKInfo();

}
